Within the field of telecommunications, the concept of calling party identification (i.e. “caller ID”) is a well known. Caller ID is currently used within either landline or mobile telecommunications. In such known caller ID systems, each caller has a corresponding unique identifier typically in terms of the caller's telephone number. A mechanism on the called party end of the communications link is enabled to distinguish and display such unique identifier prior to fully establishing a communication link. While such a system is useful, there is the limitation that the unique identifier in the form of the callers telephone number is only useful if the called party recognizes the actual telephone number. To alleviate this, alpha tagging allows users to associate a text string with any given caller ID (or extension number) that is displayed on their telephone set when receiving or making a call involving that caller ID (or extension number). The text string is personal to the user and the same caller ID may be included in the personal directory of more than one user. For example, several users may have different alpha tags for the same number—e.g., the number for “Dino's Pizzeria & Take-Out” could be “Pizza” for one user, “Delivery” for another user, and “Dinner” for yet another user.
Some telephones and other physical telecommunications devices implement alpha tagging by enabling a user to store several phone numbers and associate such phone numbers with an alphabetic name or term. For instance, (613) 555-2323 may correspond to a particular take-out restaurant focusing on vegetarian food and operating under the name of “Veggies On The Run.” A patron of such restaurant may program their telephone to associate “Veggies” to correspond with (613) 555-2323. If such restaurant were to call the patron, the caller ID mechanism with their telephone would recognize (613) 555-2323 and display the associated, pre-stored term “Veggies” on the patron's caller ID display. Similarly, the same telephone could be used to store other frequent contacts and associated telephone numbers. When an incoming call arrives, the personal directory of stored alpha tags and numbers is referenced to determine whether a text string has been configured for the instant caller ID (or extension number). If so, the text string is displayed on the device rather than the caller ID (or extension number). A system directory can also be referenced when no personal directory entry exists. Additionally, if desired a department/tenant scope directory can also be used before checking the system directory to provide more flexibility in alpha tagging delivery. Such systems are limited, however, by the memory of the telephone or device used to store the alpha tag and number data. While memory storage capacity has become less of a concern as the cost of memory has been reduced over time, access time can be a considerable issue if a significant amount of fixed memory allocation is to be scanned.
In addition to maintaining a personal directory within a telephone or some such telecommunications device itself, the personal directory may be more centralized. Within such centralized systems, independent personal directory facilities may exist for a group of users that would require considerable system memory space. Such centralized systems often limit each user to a fixed personal directory size of only 10 or 20 possible entries. Alternatively, a hash mechanism (or resource management facility) is used to share a pool of personal directory entries between all users or groups of users. The hash mechanism identifies a hash table bucket that is a linked list or table of entries. Each entry includes the user identity, the full caller ID (or significant abbreviation), and the associated alpha tag. A caller ID (or extension number) is then transformed into a hash table bucket, many to one, and the corresponding bucket entries are searched for the matching caller ID and user identifier.
Within local networks such as a corporate enterprise setting, such access time and memory allocation issues become significant concerns. It is, therefore, desirable to provide an improved and robust caller identification mechanism for use within such communications networks.